package com.gitee.feizns.quickstart.ding.talk;

import lombok.RequiredArgsConstructor;

/**
 * 新版钉钉sdk工具类
 * @author feizns
 * @since 2023/09/12
 */
@RequiredArgsConstructor
public class Api {

    /**
     * ding talk api相关配置
     */
    private final Config config;

//    private final TopApi topApi;

//    public static

//    private final

//    public

//    /**
//     * @author feizns
//     * @since 2023/11/28
//     */
//    interface YiDa10 {
//
//        /**
//         * {@link Client}
//         */
//        ReferenceValue<Client> client = new ReferenceValue<>();
//
//        /**
//         * {@link Client}
//         * @return {@link Client}
//         */
//
//        static Client get() {
//            if ( client.isNull() ) {
//                synchronized (OAuth210.class) {
//                    if ( client.isNull() )
//                        client.set(create());
//                }
//            }
//            return client.get();
//        }
//
//        /**
//         * 使用 Token 初始化账号Client
//         * @return Client
//         */
//        static com.aliyun.dingtalkyida_1_0.Client create() throws Exception {
//            Config config = new Config();
//            config.protocol = "https";
//            config.regionId = "central";
//            return new com.aliyun.dingtalkyida_1_0.Client(config);
//        }
//
//    }
//
//    /**
//     * 认证客户端管理器
//     * @author feizns
//     * @since 2023/11/28
//     */
//    interface OAuth210 {
//
//        /**
//         * {@link Client}
//         */
//        ReferenceValue<Client> client = new ReferenceValue<>();
//
//        /**
//         * {@link Client}
//         * @return {@link Client}
//         */
//
//        static Client get() {
//            if ( client.isNull() ) {
//                synchronized (OAuth210.class) {
//                    if ( client.isNull() )
//                        client.set(create());
//                }
//            }
//            return client.get();
//        }
//
//        /**
//         * 使用 Token 初始化账号Client
//         * @return Client
//         */
//        @SneakyThrows
//        static Client create() {
//            com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config();
//            config.protocol = "https";
//            config.regionId = "central";
//            return new Client(config);
//        }
//
//    }

}
